namespace netgen
{
const char * pyramidrules[] = {
"tolfak 0.5\n",\
"\n",\
"rule \"Pyramid on quad\"\n",\
"\n",\
"quality 100\n",\
"\n",\
"mappoints\n",\
"(0, 0, 0);\n",\
"(1, 0, 0);\n",\
"(1, 1, 0);\n",\
"(0, 1, 0);\n",\
"\n",\
"mapfaces\n",\
"(1, 2, 3, 4) del;\n",\
"\n",\
"newpoints\n",\
"(0.5, 0.5, -0.5) \n",\
"	{ 0.25 X1, 0.25 X2, 0.25 X3, 0.25 X4 } 	\n",\
"	{ 0.25 Y1, 0.25 Y2, 0.25 Y3, 0.25 Y4 } { };\n",\
"\n",\
"newfaces\n",\
"(1, 2, 5);\n",\
"(2, 3, 5);\n",\
"(3, 4, 5);\n",\
"(4, 1, 5);\n",\
"\n",\
"elements\n",\
"(1, 2, 3, 4, 5);\n",\
"\n",\
"freezone2\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1.4 P5, -0.1 P1, -0.1 P2, -0.1 P3, -0.1 P4 };\n",\
"\n",\
"freezonelimit\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1 P5 };\n",\
"\n",\
"freeset\n",\
"1 2 3 5;\n",\
"\n",\
"freeset\n",\
"1 3 4 5;\n",\
"\n",\
"endrule\n",\
"\n",\
"\n",\
"rule \"small Pyramid on quad\"\n",\
"\n",\
"quality 100\n",\
"\n",\
"mappoints\n",\
"(0, 0, 0);\n",\
"(1, 0, 0);\n",\
"(1, 1, 0);\n",\
"(0, 1, 0);\n",\
"\n",\
"mapfaces\n",\
"(1, 2, 3, 4) del;\n",\
"\n",\
"newpoints\n",\
"(0.5, 0.5, -0.1 )\n",\
"	{ 0.25 X1, 0.25 X2, 0.25 X3, 0.25 X4 } \n",\
"	{ 0.25 Y1, 0.25 Y2, 0.25 Y3, 0.25 Y4 } { };\n",\
"\n",\
"newfaces\n",\
"(1, 2, 5);\n",\
"(2, 3, 5);\n",\
"(3, 4, 5);\n",\
"(4, 1, 5);\n",\
"\n",\
"elements\n",\
"(1, 2, 3, 4, 5);\n",\
"\n",\
"freezone2\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1.4 P5, -0.1 P1, -0.1 P2, -0.1 P3, -0.1 P4 };\n",\
"\n",\
"freezonelimit\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1 P5 };\n",\
"\n",\
"freeset\n",\
"1 2 3 5;\n",\
"\n",\
"freeset\n",\
"1 3 4 5;\n",\
"\n",\
"endrule\n",\
"\n",\
"\n",\
"\n",\
"\n",\
"rule \"connect pyramid\"\n",\
"\n",\
"quality 1\n",\
"\n",\
"mappoints\n",\
"(0, 0, 0);\n",\
"(1, 0, 0);\n",\
"(1, 1, 0);\n",\
"(0, 1, 0);\n",\
"(0.5, 0.5, -0.5);\n",\
"\n",\
"mapfaces\n",\
"(1, 2, 3, 4) del;\n",\
"\n",\
"newpoints\n",\
"\n",\
"newfaces\n",\
"(1, 2, 5);\n",\
"(2, 3, 5);\n",\
"(3, 4, 5);\n",\
"(4, 1, 5);\n",\
"\n",\
"elements\n",\
"(1, 2, 3, 4, 5);\n",\
"\n",\
"freezone2\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1 P5 };\n",\
"\n",\
"freeset\n",\
"1 2 3 5;\n",\
"\n",\
"freeset\n",\
"1 3 4 5;\n",\
"\n",\
"endrule\n",\
"\n",\
"\n",\
"\n",\
"\n",\
"\n",\
"\n",\
"rule \"pyramid with one trig\"\n",\
"\n",\
"quality 1\n",\
"\n",\
"mappoints\n",\
"(0, 0, 0);\n",\
"(1, 0, 0);\n",\
"(1, 1, 0);\n",\
"(0, 1, 0);\n",\
"(0.5, 0.5, -0.5);\n",\
"\n",\
"mapfaces\n",\
"(1, 2, 3, 4) del;\n",\
"(2, 1, 5) del;\n",\
"\n",\
"newpoints\n",\
"\n",\
"newfaces\n",\
"(2, 3, 5);\n",\
"(3, 4, 5);\n",\
"(4, 1, 5);\n",\
"\n",\
"elements\n",\
"(1, 2, 3, 4, 5);\n",\
"\n",\
"freezone2\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1 P5 };\n",\
"{ 0.34 P2, 0.34 P3, 0.34 P5, -0.02 P1 };\n",\
"{ 0.34 P3, 0.34 P4, 0.34 P5, -0.02 P1 };\n",\
"{ 0.34 P1, 0.34 P4, 0.34 P5, -0.02 P3 };\n",\
"\n",\
"freezonelimit\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1 P5 };\n",\
"{ 0.333 P2, 0.333 P3, 0.334 P5, 0 P1 };\n",\
"{ 0.333 P3, 0.333 P4, 0.334 P5, 0 P1 };\n",\
"{ 0.333 P1, 0.333 P4, 0.334 P5, 0 P3 };\n",\
"\n",\
"orientations\n",\
"(1, 2, 3, 5);\n",\
"(1, 3, 4, 5);\n",\
"\n",\
"\n",\
"freeset\n",\
"1 2 3 5;\n",\
"freeset\n",\
"1 3 4 5;\n",\
"freeset\n",\
"2 3 5 6;\n",\
"freeset\n",\
"3 4 5 7;\n",\
"freeset \n",\
"1 4 5 8;\n",\
"endrule\n",\
"\n",\
"\n",\
"\n",\
"\n",\
"\n",\
"\n",\
"rule \"pyramid with two trig\"\n",\
"\n",\
"quality 1\n",\
"\n",\
"mappoints\n",\
"(0, 0, 0);\n",\
"(1, 0, 0);\n",\
"(1, 1, 0);\n",\
"(0, 1, 0);\n",\
"(0.5, 0.5, -0.5);\n",\
"\n",\
"mapfaces\n",\
"(1, 2, 3, 4) del;\n",\
"(2, 1, 5) del;\n",\
"(3, 2, 5) del;\n",\
"newpoints\n",\
"\n",\
"newfaces\n",\
"(3, 4, 5);\n",\
"(4, 1, 5);\n",\
"\n",\
"elements\n",\
"(1, 2, 3, 4, 5);\n",\
"\n",\
"freezone2\n",\
"{ 1 P1 };\n",\
"{ 1 P2 };\n",\
"{ 1 P3 };\n",\
"{ 1 P4 };\n",\
"{ 1 P5 };\n",\
"\n",\
"freeset\n",\
"1 2 3 5;\n",\
"\n",\
"freeset\n",\
"1 3 4 5;\n",\
"\n",\
"endrule\n",\
"\n",\
"\n",\
"\n",\
"\n",\
0};
}
